Spring Security-এর কিছু সাধারণ কনফিগারেশন আপনি application.properties বা application.yml ফাইলে সেট করতে পারেন। এটি মূলত সহজ কনফিগারেশনগুলির জন্য ব্যবহৃত হয়, যেমন ডিফল্ট লগইন পৃষ্ঠা কাস্টমাইজেশন, CSRF সক্ষম/অক্ষম করা, এবং HTTP Basic বা Form Login সক্রিয় করা।
application.properties ফাইলে Security কনফিগারেশন
# Spring Security Default User Credentials
spring.security.user.name=admin # Default username
spring.security.user.password=admin123 # Default password
spring.security.user.roles=ADMIN,USER # Default roles
# Custom Login Page
server.servlet.context-path=/myapp # Change context path
server.port=8080 # Change server port
# CSRF Configuration
spring.security.filter.dispatcher-types=ASYNC, ERROR, REQUEST # Dispatcher types for security filters
# Enable/Disable Security Features
management.endpoints.web.exposure.include=* # Enable all actuator endpoints
application.yml ফাইলে Security কনফিগারেশন
spring:
security:
user:
name: admin # Default username
password: admin123 # Default password
roles: ADMIN,USER # Default roles
server:
servlet:
context-path: /myapp # Change context path
port: 8080 # Change server port
management:
endpoints:
web:
exposure:
include: "*" # Enable all actuator endpoints
Common Use Cases
1. Default Username এবং Password কনফিগার করা
Spring Security যোগ করার পরে, ডিফল্ট ব্যবহারকারী user এবং পাসওয়ার্ড কনসোলে জেনারেট হয়। আপনি এটি application.properties বা application.yml-এ কাস্টমাইজ করতে পারেন:
application.properties
spring.security.user.name=myuser
spring.security.user.password=mypassword
application.yml
spring:
security:
user:
name: myuser
password: mypassword
2. CSRF Protection Disable করা (শুধু Development Environment-এর জন্য)
CSRF সুরক্ষা অক্ষম করার জন্য, নিচের কনফিগারেশনটি ব্যবহার করুন:
application.properties
spring.security.filter.csrf.enabled=false
application.yml
spring:
security:
filter:
csrf:
enabled: false
3. HTTPS/SSL সক্ষম করা
আপনার অ্যাপ্লিকেশন HTTPS সক্ষম করতে:
application.properties
server.ssl.enabled=true
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=yourpassword
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=youralias
application.yml
server:
ssl:
enabled: true
key-store: classpath:keystore.p12
key-store-password: yourpassword
key-store-type: PKCS12
key-alias: youralias
4. Custom Login এবং Logout URL সেট করা
Spring Security Form Login বা Logout URL কাস্টমাইজ করা যেতে পারে:
application.properties
server.servlet.context-path=/app
spring.security.oauth2.client.registration.google.client-id=your-client-id
spring.security.oauth2.client.registration.google.client-secret=your-client-secret
5. Actuator Security Management
Actuator এন্ডপয়েন্ট নিরাপদ রাখতে:
application.properties
management.endpoints.web.exposure.include=health,info
management.endpoint.health.show-details=always
management.security.enabled=true
Advanced Configuration
যদি আপনাকে আরও কাস্টমাইজ করতে হয় (যেমন Authentication Provider, Authorization Rules), তখন আপনাকে একটি কাস্টম Java Configuration ক্লাস ব্যবহার করতে হবে। application.properties বা application.yml-এ সীমিত কনফিগারেশন করা যায়।
নোট
- Production Environment-এ পাসওয়ার্ড কখনোই হার্ডকোড করবেন না।
- Sensitive তথ্যগুলি Environment Variables বা External Configuration Server থেকে সংগ্রহ করুন।
Spring Security এবং application.properties/application.yml-এর সমন্বয় আপনার প্রাথমিক সেটআপকে দ্রুত এবং সহজ করে তোলে।
Read more